"""
django_project_demo项目的 URL 配置。

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/4.2/topics/http/urls/
Examples:

函数视图
    1. 添加导入：从my_app导入视图
    2. 向 urlpatterns 添加一个 URL：path（''， views.home， name='home'）
基于类的视图
    1. 添加导入：from other_app.views import Home
    2. 添加 urlpatterns： path（''， Home.as_view（）， name='home'）
包括另一个 URLconf
    1. 导入include（）函数：from django.urls import include， path
    2. 添加 urlpatterns： path（'blog/'， include（'blog.urls'））
"""
from django.conf import settings
from django.contrib import admin
from django.urls import path,re_path
from django.views.static import serve

from app.views import depart, prettyNumber, user, admin, account, task, order, chart, upload, city  # 引入项目需要使用的视图函数


urlpatterns = [
    # 设置自定义文件上传路由media
    re_path(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}, name='media'),

    # path('admin/', admin.site.urls),

    # 部门管理
    path('depart/list/', depart.depart_list),
    path('depart/add/', depart.depart_add),
    path('depart/delete/', depart.depart_delete),
    # <int:nid>是一个正则表达式,用来接收id,在views.py文件中加一个接收形参就可以接收到
    # http://127.0.0.1:8001/depart/1/edit
    path('depart/<int:nid>/edit/', depart.depart_edit),
    path('depart/multi/', depart.depart_multi), # 批量上传文件

    # 用户管理
    path('user/list/', user.user_list),
    path('user/add/', user.user_add),  # 最原始方法添加用户
    path('user/add_ModelForm/', user.user_add_modelform),  # 利用ModelForm组件添加用户
    path('user/<int:nid>/edit_ModelForm/', user.user_edit_modelform),  # 利用ModelForm组件添加用户
    path('user/<int:nid>/delete_ModelForm/', user.user_delete_modelform),  # 利用ModelForm组件添加用户

    # 靓号管理
    path('PrettyNumber/list/', prettyNumber.pn_list),
    path('PrettyNumber/add/', prettyNumber.pn_add),
    path('PrettyNumber/<int:nid>/edit/', prettyNumber.pn_edit),
    path('PrettyNumber/<int:nid>/delete/', prettyNumber.pn_delete),

    # 管理员帐户
    path('admin/list/', admin.admin_list),
    path('admin/add_ModelForm/', admin.admin_add),
    path('admin/<int:nid>/edit/', admin.admin_edit),
    path('admin/<int:nid>/delete/', admin.admin_delete),
    path('admin/<int:nid>/reset_password/', admin.admin_reset_password),

    # 用户登录
    path('login/', account.login),
    path('loginout/', account.loginout),
    path('image/code/', account.image_code),
    path('',account.login), # 设置首页

    # 任务管理
    path('task/list/', task.task_list),
    path('task/ajax/', task.task_ajax),
    path('task/add/', task.task_add),
    path('task/<int:nid>/edit/', task.task_edit),
    path('task/<int:nid>/delete/', task.task_delete),

    # 订单管理
    path('order/list/', order.order_list),
    path('order/add/', order.order_add),
    path('order/delete/', order.order_delete),
    path('order/detail/', order.order_detail),  # 获取字段信息，用于编辑
    path('order/edit/', order.order_edit),

    # 数据统计
    path('chart/list/', chart.chart_list),
    path('chart/bar/', chart.chart_bar),
    path('chart/pie/', chart.chart_pie),
    path('chart/line/', chart.chart_line),

    # 上传文件
    path('upload/list/', upload.upload_list),
    path('upload/form/', upload.upload_form),
    path('upload/modelform/', upload.upload_modelform),

    # 上传文件的展示
    path('city/list/', city.city_list),

]
